package com.me.modules.questionnaire.service.impl;

import com.me.modules.common.common.Constant;
import com.me.modules.common.page.Page;
import com.me.modules.common.page.PageHelper;
import com.me.modules.knowledge.entity.KnowledgeInfoEntity;
import com.me.modules.questionnaire.dao.AnAnswerDao;
import com.me.modules.questionnaire.dao.QuSurveyAnswerDao;
import com.me.modules.questionnaire.entity.QuSurveyAnswerEntity;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

import com.me.modules.questionnaire.dao.QuestionnaireInfoDao;
import com.me.modules.questionnaire.entity.QuestionnaireInfoEntity;
import com.me.modules.questionnaire.service.QuestionnaireInfoService;



@Service("questionnaireInfoService")
public class QuestionnaireInfoServiceImpl implements QuestionnaireInfoService {
	@Autowired
	private QuestionnaireInfoDao questionnaireInfoDao;
	@Autowired
	private AnAnswerDao anAnswerDao;
	@Autowired
	private QuSurveyAnswerDao quSurveyAnswerDao;

	@Override
	public QuestionnaireInfoEntity queryObject(String id){
		return questionnaireInfoDao.queryObject(id);
	}

	@Override
	public List<QuestionnaireInfoEntity> queryList(Map<String, Object> map){
		return questionnaireInfoDao.queryList(map);
	}

    @Override
    public List<QuestionnaireInfoEntity> queryListByBean(QuestionnaireInfoEntity entity) {
        return questionnaireInfoDao.queryListByBean(entity);
    }

	@Override
	public int queryTotal(Map<String, Object> map){
		return questionnaireInfoDao.queryTotal(map);
	}

	@Override
	public int save(QuestionnaireInfoEntity questionnaireInfo){
		return questionnaireInfoDao.save(questionnaireInfo);
	}

	@Override
	public int update(QuestionnaireInfoEntity questionnaireInfo){
        return questionnaireInfoDao.update(questionnaireInfo);
	}

	@Override
	public int delete(String id){
        return questionnaireInfoDao.delete(id);
	}

	@Override
	public int deleteBatch(Integer[] ids){
        return questionnaireInfoDao.deleteBatch(ids);
	}

	@Override
	public Page<KnowledgeInfoEntity> findPage(QuestionnaireInfoEntity questionnaireInfoEntity, int pageNum) {
		PageHelper.startPage(pageNum, Constant.pageSize);
		questionnaireInfoDao.queryList(questionnaireInfoEntity);
		return PageHelper.endPage();
	}

	@Override
	public Page<KnowledgeInfoEntity> findanswerPage(QuestionnaireInfoEntity questionnaireInfoEntity, int pageNum,int userId) {
		List<QuSurveyAnswerEntity> surveyAnswerList = quSurveyAnswerDao.queryList(new QuSurveyAnswerEntity());
		PageHelper.startPage(pageNum, Constant.pageSize);
		questionnaireInfoEntity.setStatus("2");
		List<QuestionnaireInfoEntity> questionnaireList = questionnaireInfoDao.queryAnswerList(questionnaireInfoEntity);
		for (QuestionnaireInfoEntity infoEntity : questionnaireList) {
			for (QuSurveyAnswerEntity surveyAnswer : surveyAnswerList) {
				if(userId == surveyAnswer.getUserId() && infoEntity.getId() == surveyAnswer.getSurveyId()){
					infoEntity.setStatus("3");
				}
			}
		}
		return PageHelper.endPage();
	}

}
